import myAxios from "../../../utils/myAxios"

// pages/recommendSong/recommendSong.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        songList:[], //歌曲列表
        month: '--', //月份
        day: '--', // 日期
        currentIndex: null, //当前点击歌曲的下标
    },

    // 去播放歌曲页面
    toSong(e){
        const {songid, currentindex} = e.currentTarget.dataset
        this.setData({
            currentIndex: currentindex
        })
        wx.navigateTo({
          url: '/songs/pages/song/song?songid=' + songid,
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // 订阅song传过来的切换歌曲信息
        this.token = this.$PubSub.subscribe('switchType', (msg, data)=> {
            let {songList, currentIndex} = this.data
            if(data === 'next') {
                if(currentIndex === songList.length -1) {
                    currentIndex = 0
                } else {
                    currentIndex++
                }
                this.setData({
                    currentIndex
                })
                this.$PubSub.publish('sendId',songList[currentIndex].id)
            }else {
                if(currentIndex === 0) {
                    currentIndex = songList.length -1
                } else {
                    currentIndex--
                }
                this.setData({
                    currentIndex
                })
                this.$PubSub.publish('sendId',songList[currentIndex].id)
            }
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: async function () {
        // 获取推荐歌曲数据
        const res = await myAxios('/recommend/songs')
        const date = new Date()
        this.setData({
            songList: res.recommend,
            month:date.getMonth() + 1,
            day: date.getDate()
        })

        
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {
        this.$PubSub.unsubscribe(this.token);
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})